Programmable lawn mower

ABSTRACT

A robotic apparatus for traversing a selected area autonomously that senses orientation relative to the Earth&#39;s magnetic field. The robotic apparatus is provided in two models, a master that can record directive and compass readings to provide at least one command recorded on a machine-readable medium representing an instruction for traversing an area of interest, and a slave that lacks the recording capability. Both master and slave models can replay recorded commands, and compare the expected orientation from the command with an actual orientation sensed during autonomous operation. If an error exceeding a predetermined value is observed, a corrective action is taken. The robotic apparatus is able to utilize a tool to perform a task at one or more locations, such as cutting, shoveling and digging. In one embodiment, the robotic apparatus is a lawn mower.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefit of now abandoned,U.S. provisional patent application Ser. No. 60/368,196, filed Mar. 28,2002, which application is incorporated herein by reference in itsentirety.

FIELD OF THE INVENTION

The invention relates to mobile robotic apparatus in general andparticularly to a robotic apparatus that comprises programmedinstructions for traversing an area of interest autonomously.

BACKGROUND OF THE INVENTION

Tasks such as mowing lawns are tedious and can be unpleasant, but arenecessary. A common fantasy depicts a homeowner relaxing in a hammockwith a cool drink on a warm summer day, possibly in the shade of a tree,while a robotic device mows the lawn.

The prior art includes a number of patents issued for roboticlawnmowers. U.S. Pat. No. 4,777,785, issued on Oct. 18, 1988 to Rafaels,describes a method of guiding a robotic lawnmower that relies on pairsof sensors, one of which emits and one of which detects electromagneticradiation. U.S. Pat. No. 4,887,415, issued on Dec. 19, 1989 to Martin,describes a robotic lawnmower that relies on infrared obstacle detectorsto provide guidance signals. U.S. Pat. No. 5,163,273, issued on Nov. 17,1992 to Wojtkowski et al., describes a robotic lawnmower that relies ona buried wire to provide guidance. U.S. Pat. No. 5,974,347, issued onOct. 26, 1999 to Nelson, describes a robotic lawnmower that relies on aplurality of radio transmitters to provide guidance signals. U.S. Pat.No. 6,009,358, issued on Dec. 28, 1999 to Angott et al., describes arobotic lawnmower that relies on a plurality of transceivers, one thattransmits signals having different propagation velocities, and one thatreceives the signals. German Patent No. DE3918867, which was publishedon Oct. 19, 1989, also describes a robotic lawnmower that employs buriediron bars as a guidance system. Friendly Robotics is the assignee ofU.S. Pat. Nos. 6,255,793, 6,339,735, 6,417,641, 6,443,509, and6,493,613, and U.S. Design Pat. No. D451,931, directed to roboticlawnmowers that use proximity sensors to detect predefined boundaries.

The manual cutting of an edge is a variation on the installation ofboundaries, paths, buried wires, or transmitters. Some robotic lawnmowers rely on distinguishing the cut height of grass from the uncut,taller grass, and following the edge. One example is described in U.S.Pat. No. 4,133,404, issued Jan. 9, 1979 to Griffin. A manually cut edgeor border is simply another predefined boundary or path, one that needsto be “reinstalled” before each occasion when the grass is to be cut.

One problem that is common to each of the robotic systems describedabove is the need to provide and to locate transmitters or otherindicators of a desired path or boundary. The necessity to place suchtransmitters or other locators involves considerable expenditure oftime, effort, and funds, and may require precise measurements overconsiderable distances. Alteration of the desired actions of the roboticapparatus may require further time, effort, and funds to change theconfiguration of the previously defined path or boundary. There is aneed for a robotic apparatus such as a lawnmower that can operateautonomously without the necessity to define either a path or a boundaryby the placement of transmitters or other indicators.

SUMMARY OF THE INVENTION

In one aspect, the invention relates to a programmable roboticapparatus. The programmable robotic apparatus comprises a drive system,the drive system comprising a plurality of independently operabletreads, a control module in electrical communication with the drivesystem, the control module configured to command the operation of eachtread, a memory module in electrical communication with the controlmodule, the memory module configured to store and retrieve information,and a compass module in electrical communication with the controlmodule, the compass module configured to discern an orientation of theprogrammable robotic apparatus.

In one embodiment, the apparatus is configured to operate autonomouslybased at least in part on information stored in the memory module. Inone embodiment, the programmable robotic apparatus further comprises atool configured to perform a mechanical operation. In one embodiment,the tool configured to perform a mechanical operation is selected fromthe group consisting of a cutting tool, a shoveling tool, and avacuuming tool. In one embodiment, the programmable robotic apparatus isa programmable lawn mower.

In one embodiment, the memory module is selected from the groupconsisting of a magnetic tape, a floppy disc, a hard disc, a CD-RW disc,RAM, EPROM, EEPROM, and a flash memory. In one embodiment, the compassmodule is configured to discern an orientation relative to the magneticfield of the planet Earth.

In one embodiment, the programmable robotic further comprises a commandreceiver module in electrical communication with the control module. Inone embodiment, the command receiver module is configured to receivesignals from a portable transmitter. In one embodiment, the commandreceiver module is configured to receive signals comprises directives.

In another aspect, the invention features a method of operating aprogrammable robotic apparatus. The method comprises the steps ofproviding at least one command recorded on a machine-readable medium,the at least one command representing an instruction for traversing anarea of interest, operating the programmable robotic apparatus accordingto the at least one command recorded on the machine-readable medium,discerning an orientation of the programmable robotic apparatus,comparing the orientation of the programmable robotic apparatus to adirection recorded in the at least one command to determine an errorsignal, and in the event that the error signal exceeds a predeterminedvalue, commanding the programmable robotic apparatus to take acorrective action, whereby the programmable robotic apparatusautonomously traverses an area of interest.

In one embodiment, the steps of discerning an orientation, comparing theorientation, and in the event that the error signal exceeds apredetermined value, commanding the programmable robotic apparatus totake a corrective action, are performed iteratively during a period ofoperation of the programmable robotic apparatus.

In one embodiment, the method further comprises the step of performingan operation with a mechanical tool attached to the programmable roboticapparatus. In one embodiment, the programmable robotic apparatus standsin one location during the operation with the mechanical tool.

In yet another aspect, the invention relates to a method of providing atleast one command recorded on a machine-readable medium, the at leastone command representing an instruction for traversing an area ofinterest. The method comprises the steps of providing a programmablerobotic apparatus, operating the programmable robotic apparatus underexternal control, the programmable robotic apparatus receivingdirectives from an external source and traversing an area of interest,taking readings from a compass module of the programmable roboticapparatus, and recording the directives and readings on amachine-readable medium for later recovery.

In one embodiment, the directives are recorded in the format in whichthe directives are received. In one embodiment, the directives arerecorded in a different format from the format in which the directivesare received.

In a further embodiment, the invention features a computer programrecorded on a machine-readable medium. The computer program comprises asupervisory module that controls the autonomous operation of aprogrammable robotic apparatus and that, as required, receivesinformation recorded on a machine-readable medium, an orientationreceiver module that receives orientation information from a compassmodule of the programmable robotic apparatus, and a computation modulethat computes an error signal based at least in part on orientationinformation from the compass module and information recorded on themachine-readable medium.

In one embodiment, the computer program further comprises an instructionreceiver module that receives directives from an external sourceregarding operation of the programmable robotic apparatus. In oneembodiment, the computer program further comprises an error correctionmodule that, in the event that the error signal exceeds a predeterminedvalue, computes an error correction to be provided as a correctiveaction command to the programmable robotic apparatus.

The foregoing and other objects, aspects, features, and advantages ofthe invention will become more apparent from the following descriptionand from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects and features of the invention can be better understood withreference to the drawings described below, and the claims. The drawingsare not necessarily to scale, emphasis instead generally being placedupon illustrating the principles of the invention. In the drawings, likenumerals are used to indicate like parts throughout the various views.

FIGS. 1A–1D illustrate an exemplary embodiment of a robotic apparatussuitable for mowing lawns that traverses an area autonomously, accordingto principles of the invention;

FIG. 1E is an illustrative perspective representation of a roboticapparatus, according to principles of the invention;

FIG. 2 illustrates an exemplary embodiment of an alarm circuit,according to principles of the invention;

FIG. 3A illustrates a circuit suitable for detection of a signal from aLED, for use according to principles of the invention;

FIG. 3B is a drawing in side section of an LED and an optical detectorhoused within an opaque containment structure, for use according toprinciples of the invention;

FIG. 4 illustrates an embodiment of a corrective relay circuit,according to principles of the invention;

FIG. 5 illustrates an embodiment of a joystick circuit that is usefulfor providing directives during operation of the robotic apparatus,according to principles of the invention;

FIG. 6 is a flowchart illustrating a method of providing at least onecommand recorded on a machine-readable medium, the at least one commandrepresenting an instruction for traversing an area of interest,according to principles of the invention; and

FIG. 7 is a flowchart illustrating a method of operating the roboticapparatus, according to principles of the invention.

DETAILED DESCRIPTION

An electronic digital compass suitable for use with the presentinvention is described in U.S. Pat. No. 4,851,775, issued on Jul. 25,1989 to Kim et al., and assigned to Precision Navigation, Inc. of MenloPark, Calif., the entire disclosure of which is expressly incorporatedherein by reference in its entirety.

According to MPEP 608.01(p), 2163.07, and 2163.07(b), incorporation byreference practice permits an applicant to amend into a specificationmaterial from a U.S. patent properly incorporated by reference.Applicant asserts that U.S. Pat. No. 4,851,775 (hereinafter “the '775patent”) has been properly incorporated by reference in the instantapplication. Accordingly, Applicant respectfully wishes to amendparagraph [00035] by substituting therefore the following paragraph, inwhich quotations from the '775 patent are presented, with the amendedlanguage shown with underline:

Robotic apparatus built and operated according to principles of theinvention provide systems and methods for operating in an autonomousmanner under the control of a programmed computer operating incommunication with a digital compass configured to discern anorientation of the robotic apparatus. In one embodiment, the digitalcompass senses the magnetic field of the planet Earth. The digitalcompass can be implemented as a device built on a circuit board, whichcan discriminate two or three axial directions. Orientation readingsprovided by the compass are used during the operation of the roboticapparatus. An electronic digital compass suitable for use with thepresent invention is described in U.S. Pat. No. 4,851,775, issued onJul. 25, 1989 to Kim et al., and assigned to Precision Navigation, Inc.of Menlo Park, Calif., the entire disclosure of which is expresslyincorporated herein by reference in its entirety. Electronic digitalcompasses of this type are available commercially from PrecisionNavigation, Inc., for example as the Vector 2X electronic digitalcompass. Technical application notes for the Vector 2X electronicdigital compass are available online athttp://www.precisionnav.com/legacy/technical-information/pdf/vector-2x.pdf.U.S. Pat. No. 4,851,775 describes in further detail how the compassmodule operates: “The compass determines orientation with respect to theEarth's magnetic field based on frequency differences as the directionof a sensor changes with respect to the Earth's magnetic field.” U.S.Pat. No. 4,851,775 explains that “The value of L varies with theorientation of the sensor coil with respect to the Earth's magneticfield. Where He_(″) is the component of the Earth's magnetic fieldparallel to the length of the sensor and He_(″) is taken to be positivealong the direction of H₀, He_(″) can be very precisely determined bydetecting frequency deviation. By having two sensors in orthogonaldirections, such as x and y, θ, the orientation angle of the magneticNorth with respect to the fixed direction of the compass can bedetermined according to the formulaθ=Arctan(He_(″) y/He_(″) x)By having three sensor[s], the orientation angle of magnetic North canbe determined at any fixed direction of the compass in three dimensions.With inclination information, we extract the two components He_(″) y andHe_(″) x, which are parallel to the Earth's surface.”

In one embodiment, the invention finds use as a robotic apparatus thatcan traverse an area of interest autonomously. In one exemplaryembodiment, the robotic apparatus is a lawn mowing machine.

In one embodiment, a robotic apparatus has two substantially similarelectric motors located on opposite sides of the apparatus, eachconnected to the frame or chassis with bolts or the like. Speedreduction gears reduce the output rotational speed of each motor. Aswill be described, the rotational speed and direction of each motor isindividually adjustable. The two motors are configured to be controlledindividually. A drive system on each side of the robotic apparatus, suchas a chain drive connected to a sprocket on a wheel assembly, providespower from each motor to a corresponding wheel. A rubber track isprovided on each of the two sides of the chassis. Each track is fastenedto one or more wheels, one of which is the wheel driven by the motor,which track moves the robotic apparatus as required.

In one embodiment, a robotic apparatus intended for use as a lawn moweris operated primarily through the use of a gasoline-powered engine. Inone embodiment, the apparatus derives its electrical energy needs byemploying an alternator driven by the gasoline-powered engine. Thegasoline-powered engine also drives a rotating vertical shaft thatsupports a cutting blade. The blade is connected to the motor by way ofa clutch mechanism, so that the motor can remain in operation while thecutting blade can be disengaged. A portion of the AC current generatedby the alternator is then converted to DC power to provide for theenergy needs of the remaining circuits.

In one embodiment, a machine of the invention is capable of recordingdirectives and digital compass readings while in operation for laterplayback, can play back recorded instructions, and can operateautonomously according to the recorded instructions. The directives canbe provided from an external source. In one exemplary embodiment, aperson uses a hand held device such as a cell phone to issue commandsthat include directives by pressing buttons on the cell phone. Forconvenience of exposition, a machine with this recording capability willbe called a master. In some embodiments, a record and playback devicecan be remote from the master robotic apparatus and bi-directionalcommunication between the master robotic apparatus and the record andplayback device can occur by short-range radio, for example using the802.11 protocol. In another embodiment, a machine of the invention lacksthe feature of recording instructions, but can play back pre-recordedinstructions, and can operate autonomously according to the pre-recordedinstructions. For convenience of exposition, such a machine will bereferred to as a slave. In some embodiments, a slave machine may alsolack the feature of receiving directives from an external source, suchas a remote control, but instead operates based on recorded informationand a start command or the like issued by manipulation of a control,such as a key or a button on the apparatus. In some embodiments, a slavemachine can employ a playback device that would be unsuitable for amaster machine (i.e., a device lacking recording capability but havingplayback capability), such as a CD-ROM player, a magnetic tape player,or the like. Such playback-only devices are useful because they havefewer parts (i.e., less that can fail and require repair), and they maybe less costly to acquire and use. In some embodiments, a playbackdevice can be remote from the slave robotic apparatus and bi-directionalcommunication between the slave robotic apparatus and the playbackdevice can occur by short-range radio, for example using the 802.11protocol.

A machine according to the invention, which in one embodiment is poweredby a gasoline engine, and in other embodiments is powered electrically,provides mobility through two independently operated electric motorsthat power treads, which can be rubber tracks. The invention alsoprovides a computer program recorded on a machine-readable medium thatoperates on a computer, which can be a commercially availablemicroprocessor. One or more programmed computers provide the ability tocontrol the behavior, including guiding a course of motion of therobotic apparatus, and controlling the use of tools that are attached tothe robotic apparatus.

Because both master and slave machines according to the invention usethe Earth's magnetic field as a reference, there is no requirement forthe installation of any artificial objects such as transmitters orbarriers to control the motion or behavior of the programmable roboticapparatus when it is operating autonomously. The magnetic field of theplanet Earth is a natural phenomenon that does not require theintervention of a human for its presence. When a command or commandsrecorded on a machine-readable medium are provided to the apparatus, theapparatus can operate autonomously and can take corrective action whenit senses that it has deviated from the expected operational behavior.

Turning to FIGS. 1A–1D, there is shown an exemplary embodiment of anapparatus suitable for mowing lawns that traverses an area autonomously.The relationship of FIGS. 1A–1D is shown schematically on FIG. 1C. FIG.1A shows a remote input device 102 that a user employs for issuingdirectives, which in one embodiment is a joystick configured to generateDTMF tones in response to manipulations by the user. In otherembodiments, the remote input device 102 is a hand held device such as acell phone that can generate DTMF signals. When a remote input device102 is used, there is a corresponding command receiver module configuredto receive signals from the remote input device or portable transmitter102. The signals sent by the remote input device comprise directives.The DTMF signals are communicated to a memory module 104 that isconfigured to store and retrieve information. While being recorded, theDTMF signals are also sent to a DTMF decoder for processing, so as toprovide directives to operate the robotic apparatus. In the embodimentof FIG. 1A, memory module 104 is a tape recorder that can record theDTMF signals. In the embodiment shown, the DTMF signals are sent outthrough the recorder's earphone output jack by wire to be decoded by aDTMF decoder. In other embodiments, the memory module is any device thatcan store and retrieve information, such as on a floppy disc, a harddisc, a CD-RW disc, RAM, EPROM, EEPROM, and a flash memory. In someembodiments, the directives are recorded in the same format as theformat in which they are received. In other embodiments, the directivesare recorded in a format different from the format in which thedirective is received.

In the embodiment of FIG. 1A, the connection between the input device102 and the memory module 104 is a cable 103. In other embodiments, theconnection can be made by electromagnetic wave signals, such asinfrared, light, radio waves, and microwaves. An optional alarm circuit106, which is shown and described in more detail in FIG. 2, is inelectrical communication with memory module 104. A power source 108 isshown as an electrical wall plug, to schematically indicate a source ofelectrical power to operate the circuitry described herein. Theelectrical power source can be a battery, an alternator run from acombustion engine mounted on the robotic apparatus, a fuel cell, or anyother convenient source of electrical power.

Turning to FIG. 1B, there is shown a compass module 110, which in oneembodiment is a Vector 2X electronic digital compass. The compass moduleis in electrical communication with a computer 112, which in oneembodiment is a Parallax Basic Stamp Model BS1-IC, available fromParallax, 599 Menlo Drive, Suite 100, Rocklin, Calif. 95765, and havinga website at http://www.parallax.com. Information about the BS1-IC canbe found at http://www.parallax.com/detail.asp?product_id=BS1-IC.Information about the BS2-IC can be found athttp://www.parallax.com/detail.asp?product_id=BS2-IC. Other computers112 that can be used for interfacing with the Vector 2X electronicdigital compass are the Motorola 68HC705C8 processor, the Intel 8751processor, the Maxim MAX7651 processor, or the like. The computer 112 isprogrammed with a computer program recorded on a machine-readablemedium, such as a program recorded on a memory medium, which medium canbe of the type of any of the memory media listed hereinabove. Thecomputer program operating on computer 112 comprises an orientationreceiver module that receives orientation information from the compassmodule 110. As will be understood, one embodiment of circuitry used topractice the invention involves the computers 112 and 114. Otherprocessors having sufficient power may be used as a single processor inplace of the two computers 112, 114.

The computer program also includes other modules that perform specificfunctions for the operation of a robotic apparatus. These modulescomprise a supervisory module that controls the autonomous operation ofa programmable robotic apparatus and that, as required, receivesinformation recorded on a machine-readable medium, and a computationmodule that computes an error signal based at least in part onorientation information from the compass module and information recordedon the machine-readable medium. The program in some embodiments furthercomprises an instruction receiver module that receives directives froman external source regarding operation of the programmable roboticapparatus. The program in other embodiments further comprises an errorcorrection module that, in the event that the error signal exceeds apredetermined value, computes an error correction to be provided as acorrective action command to the programmable robotic apparatus.

As indicated in the embodiment shown in FIG. 1B the computer 112communicates with another computer 114. The computer 114 as depicted isalso a Parallax Basic Stamp Model BS1-IC. In other embodiments, thecomputers 112 and 114 can be the same computer. Various aspects of thecomputer program described above can be divided between computers 112and 114 in embodiments where they are distinct computers. In general, itis not critical where a particular module resides or is operative.Microprocessors are available that have sufficient computational powerand speed to be successfully applied in embodiments of the invention.Another issue in addition to power and speed may be the unit cost of themicroprocessor. In the future, there will likely be many additionalmicroprocessors that are even more powerful and even less costly thanthose available today, and which may include some of the featuresnecessary for operation of embodiments of the invention. For example, anew line of chips was introduced on Mar. 12, 2003 by Intel Corporationunder the trademark Intel® Centrino™. Some of the features of such newerchipsets include wireless communications, features designed to enableextended battery life, make possible thinner and lighter mobile computerdesigns, and improved mobile performance.

As depicted in FIG. 1B, the computer 114 generates instructions for theoperation of the robotic apparatus, which can be communicatedelectrically to the electromechanical portions of the apparatus. In theembodiment of FIG. 1B, the computer 114 communicates by way of aplurality of opto-isolators 120 which are shown in greater detail inFIG. 3A as described below. In one embodiment, there are tencommunication channels each having an opto-isolator 120 therein.Circuitry 122 for detecting a signal from an LED is provided for eachopto-isolator 120. An exemplary embodiment of a detection circuit fordetecting the presence of light from an LED is shown in FIG. 3B anddescribed in greater detail with regard to that figure. For eachcommunication channel, the circuitry 122 drives a corresponding relay124 based on the state of the detected signal (i.e., “on” or “off”).Each relay 124 is connected to another relay 126 that has a normallyopen trigger connection 130. The trigger 130 is used in what will becalled “playback” mode, corresponding to operation using pre-recordedinstructions in the form of directives and compass readings. In the modeof operation under control by an external source, which will be called“command” mode or “live” mode, such as control by a user providingsignals from a portable transmitter, the trigger input 130 is held high.When in “command” mode, the relays 126 communicate their signals by wayof their “normally closed” contact to DTMF encoders 132. In oneembodiment, the least significant digit of each numeric value generatedby the compass is ultimately stored as a unique DTMF tone when in“command” mode. When in “playback” mode, the relays 126 communicatetheir signals by way of their “normally open” contacts to circuitry 140,142 that decodes the least significant, or “units” digit of a readingobtained from the compass module 110.

The compass module 110 and the computers 112, 114 are used to measurethe orientation of the compass module 110 (and thereby the orientationof the robotic apparatus to which it is mechanically attached) relativeto the magnetic field of the planet Earth. The compass module can beoriented with regard to the robotic apparatus by attaching the compassmodule 110 to the robotic apparatus, and aligning one of its magneticcoils along a desired direction (such as directly forward) and aligninganother of its magnetic coils in a perpendicular orientation to thedesired direction so as to define a plane that is substantially parallelwith respect to a plane upon which the robotic apparatus rests when thecompass module is attached.

The compass module 110 provides electrical signals that can be decodedto derive a magnetic compass heading in increments of one degree,ranging from zero degrees to 359 degrees. For the purpose of controllingthe robotic apparatus, an angular correction of one degree or less issufficient for acceptable operation. In order to observe a change indirection, it is sufficient to observe the change of the leastsignificant digit (or units digit) value of the decoded heading. Forexample, a change in direction from 72 degrees to either 73 degrees or71 degrees involves observing the change of the least significant digitvalue “2” to either “3” or “1.” Therefore, decoding signals from thecompass 110 so that the least significant digit (i.e., ranging from 0through 9) is discriminated provides enough signal to deduce that anerror has occurred and that a correction is needed. For appreciablechanges in direction, for example in excess of 9 degrees, a counter isimplemented to tally the successive changes of one degree so as to haveavailable a new heading relative to a previous heading. One can alsocalibrate the compass to obtain a “true” magnetic heading if that isnecessary. The calibration process is explained in U.S. Pat. No.4,851,775, previously incorporated herein by reference.

Turning to FIG. 1C, during operation in the “command” mode, signals fromthe remote input device 102, or during operation in the “playback” mode,signals recorded on the memory module 104, are electrically communicatedto each of a plurality of DTMF decoders 160. In the embodiment of FIGS.1A and 1C, the communication from memory module 104 to DTMF decoders 160is by wire. In the embodiment shown in FIG. 1C, there are four DTMFdecoders 160, one each to determine the presence of a signalcorresponding to a command to move in one of four directions, which maybe understood as “forward,” “backward,” “to the right,” and “to theleft.” It is possible that signals for more than one direction can bepresent at a given time, for example a signal to move forward, and asignal to move to the right, having independent “magnitudes,” so as toaffect motion in a direction selected within a 90 degree arc. The“magnitudes” can be defined by either or both of an amplitude of a tonesignal and a ratio of “on” and “off” durations of the DTMF signal withina time period (i.e., a “duty cycle” of the DTMF signal). Each DTMFdecoder 160 is configured to decode only a specific DTMF combination,and to ignore other signals. In response to a DTMF signal specific for adecoder 160, each decoder 160 is activated and trips one or moreswitches so as to apply electrical signal to motor speed controllers148, 154, and forward/reverse switches 150, 156, which apply power todriving motors 152, 158 which, respectively, are connected to and whichreversibly drive the right tread and the left tread of the roboticapparatus.

FIG. 1D shows additional portions of the control circuitry of therobotic apparatus. A plurality of DTMF encoders 132 is provided. EachDTMF encoder 132 is electrically connected to a normally closed contactof a respective one of the relays 126. During operation in the “command”mode, when a signal from a selected one of relays 126 is applied to thecorresponding DTMF encoder 132, a specific DTMF signal is generated, andis communicated to and recorded by memory module 134 that is configuredto store and retrieve information. In the embodiment of FIG. 1D, memorymodule 134 is a tape recorder that can record the DTMF signals. In otherembodiments, the memory module 134 is any device that can store andretrieve information, such as on a floppy disc, a hard disc, a CD-RWdisc, RAM, EPROM, EEPROM, and a flash memory. In some embodiments, thememory module 134 and the memory module 104 can be the same memorymodule.

When the robotic apparatus is in “playback” mode, the relays 126 arerespectively connected from their normally open contacts to circuitrythat decodes the value of the least significant digit (from “0” to “9”)that is being asserted in response to the signal from the compass module110. The circuitry that decodes the least significant digit value isshown in the embodiment of FIG. 1D as two BSC IC Stamp computers 140,142 that respectively decode the digits 0–4 and 5–9. In otherembodiments, other circuitry, such as a hard-wired logic circuit having10 inputs and binary coded decimal (BCD) output, can be employed.

When the robotic apparatus is in “playback” mode, the memory module 134“plays back” its information, or otherwise makes the informationrecorded thereon available for use. The information, including DTMFsignals corresponding to previously recorded least significant digitinformation, is made available to a plurality of DTMF decoders 138. Inthe embodiment of FIG. 1D, there are 10 DTMF decoders 138, eachconfigured to decode a signal corresponding to a particular value of aleast significant digit pre-recorded in the form of a DTMF signal, asexplained above. A decoded signal from DTMF decoders 138 is also appliedto the decode circuitry 140, 142. In an alternative embodiment, a secondhard-wired logic circuit having 10 inputs and binary coded decimal (BCD)output receives as input the decoded signals from DTMF decoders 138.

The two sets of signals represent the least significant digit availablein “playback” mode, one from the compass module 110, and one from thememory module 134. The two representations of the least significantdigit are then compared. The comparison circuitry of the embodimentshown in FIG. 1D is a computer 140, 142. In an alternative embodiment, ahard-wired comparator circuit can be used. If the result of thecomparison is equality to within a range of tolerance, there is no errorand no corrective action is needed. However, if the two signalsrepresenting the least significant digit differ by more than the rangeof tolerance, i.e., if the difference exceeds a predetermined value,then the comparison circuit generates a correction signal depending onwhether the recorded least significant digit represents a greater or alesser angular heading than that represented by the measured orientationfrom the compass module 110. In this logic, looking at the leastsignificant digit alone, zero is greater than “9” but less than “1,” asin 139<140<141, or 359<0<1. If the recorded (i.e., planned) heading isgreater than the measured (i.e., current actual) heading, the roboticapparatus is commanded to make a rightward correction, and if therecorded heading is less than the actual heading, the oppositecorrection is applied. As long as corrective action is takensufficiently often and the correction is applied promptly, the roboticapparatus will be prevented from deviating far from the desireddirection, and will follow the expected path to within a tolerableerror.

In the embodiment of FIG. 1D, the result of the comparison by computers140, 142 appears as a signal that is sent to the motors driving thetreads of the robotic apparatus 10, so as to turn the robotic apparatus10 in the required direction to correct the behavior of the apparatus.One method of applying the corrective action is to slow the motion ofthe tread on the side to which the turn is to be made relative to themotion of the tread on the opposite side. In other embodiments, thetread on the side opposite to the turning direction is caused to speedup. In yet other embodiments, both corrections are applied together. Insome embodiments, causing a tread to slow its motion relative to theother tread can involve reversing the direction of motion of the treadwhich is to be caused to slow down.

FIG. 1E is an illustrative perspective representation of a roboticapparatus 10, showing a chassis 12 that supports all of the operativemechanisms of the apparatus, including the control system (not shown),the drive motors 152, 158 (shown in phantom), and the treads 180, 182,and that has fittings for attaching thereto one or more tools forperforming functions such as grass cutting, vacuuming, snow removal,digging or drilling, or the like, including motors and the like formoving the tools as needed. The tools are not shown. The tools arecomputer controlled, either by a computer resident in the roboticapparatus, or by a computer provided with the tool that is incommunication with the control system of the robotic apparatus.

A “slave” apparatus, as indicated above may lack the remote input device102, and may comprise a memory module, 104, 134 that employs onlypre-recorded media, and that is not capable of recording newinformation.

FIG. 2 illustrates an exemplary embodiment of an alarm circuit 200. Inone embodiment, one or more proximity sensors 202 are located on abumper that covers the entire perimeter of the covering shroud of therobotic apparatus 10. The purpose of the one or more proximity sensors202 is to detect objects in a timely fashion as to avoid possible damageto the under carriage, or to the object. Each sensor 202 is wired inparallel, thereby allowing each to trip an alarm circuit in and byitself. When an alarm is activated, the robotic apparatus can becommanded to terminate forward movement, suspend playback, and providean audible and or visual notification. A manual reset control 222 isprovided to deactivate the alarm condition. This prevents continuationof operation until a person intervenes.

The circuit of FIG. 2 includes a switch 204, such as a relay, thatreceives the alarm signal from the sensor 202. The switch 204 activatesa plurality of alarm circuits 206, 208. One alarm circuit 206 activatesa switch 220, such as a relay, that stops the “playback” of recordedinstructions. Another alarm circuit 208 activates a switch 210 thatdisables the switch 204, temporarily disconnecting the proximity sensor202 from the alarm system. Switch 210 also activates switch 212, whichcan be a relay, that in turn activates a visual signal 214 and an audioenunciator 216. When the reset 222 is activated, all of the switches204, 210, 212, 220 and the alarm circuits 206, 208 are returned to thestate that they had prior to the activation of the proximity sensor.Normally, the robotic apparatus 10 is adjusted, by being moved or byremoving the object, before the reset 222 is activated.

The covering shroud comprises a fiberglass body hinged at one end forinternal access. Air intakes that provide air to the combustion engineare located on either side of the shroud. The intakes also provide aircirculation to cool operating circuits.

A proximity sensor bar detects objects and sends a signal to alarmcircuits. A suitable proximity sensor can be constructed using the touchswitch kit available from Ramsey Electronics, Inc., 793 Canning Parkway,Victor, N.Y. 14564. The company has a websitehttp://www.ramseyelectronics.com. Information about the touch switch canbe found athttp://www.ramseyelectronics.com/cgi-bin/commerce.exe?preadd=action&key=TS1.

FIG. 3A illustrates a circuit suitable for detection of a signal from aLED. In FIG. 3A, resistor 302 and photoconductor 304 form a voltagedivider between a higher voltage reference 306 (such as +9 Volts) and alower voltage reference 308 (such as ground potential). In theembodiment of FIG. 3A, the voltage at the node 310 between the resistor302 and the photoconductor 304 will vary between 0 and 9 volts inproportion to the resistance of the photoconductor to the sum of theresistances of the resistor 302 and the resistance of the photoconductor304. Since light falling on the photoconductor 304 raises it conductance(i.e., diminishes its resistance) in proportion to the intensity of thelight and the number of carriers generated within the photoconductor,higher illumination will reduce the voltage at the node 310. The node310 is connected to op amp 320 at the negative input terminal 322thereof.

A variable resistor 312 is connected between voltage references 306 and308. The variable voltage terminal 314 of variable resistor 312 isconnected to the positive input terminal 324 of op amp 320. Referencevoltages 306 and 308 also power op amp 320. Op amp 320 provides anoutput signal at an output terminal 326 thereof. When operated “openloop” as depicted in FIG. 3A, the output signal of op amp 320 issubstantially the value of the higher reference voltage (the “positiverail”) when the voltage on positive input terminal 322 exceed thevoltage on negative input terminal 324. When the voltage on negativeinput terminal 324 exceeds the voltage on positive input terminal 322,the output signal of op amp 320 is substantially the value of the lowerreference voltage (the “negative rail”). The transistor 330 (in theembodiment shown, an NPN 2N2222) turns on when the output of the op amp320 is at the positive rail, and current flows through the relay 340,activating the relay 340. As will be recognized by those of ordinaryskill in the electronic arts, setting the value of the variable resistor312 as set by contact 314 will determine what level of illumination isneeded to activate relay 340.

FIG. 3B is a drawing in side section of an LED and an optical detectorhoused within an opaque containment structure. In FIG. 3B, the LED 350is present within housing 352. Photoconductive element 304 is positionedwith housing 352 to receive light emitted by LED 350. The housing 352 isopaque in the range of optical signals that activate Photoconductiveelement 304, so as to eliminate stray radiation that might cause falsetriggering of photoconductive element 304.

FIG. 4 illustrates an embodiment of a corrective relay circuit. Thecircuit 400 of FIG. 4 is used to correct the speed of a motor, such asmotors 152, 158. The circuit 400 comprises a relay 402 that can receivea corrective signal, as needed, from a source by way of inputs 404. Therelay 402 is connected by way of a normally closed contact 406 to adevice to be controlled, such as one of motors 152, 158. The relay 402has a second connection to one of motors 152, 158 by way of a normallyopen contact 410 and a variable resistor R_(v) 408 having an outputterminal 414. The relay 402 is powered by connection to power supply+V_(IN), which is connected to input terminal 412 of relay 402. Uponactivation of the corrective signal at terminals 404, the normallyclosed contact opens and the normally open contact closes, therebyproviding a reduced current and/or voltage to motor 152 or 158,respectively. The motor is thus caused to reduce its speed, therebydriving its tread at a slower rate. A preferred principle of operationof the DC motor speed control circuit is to vary the amount of time thatsupply voltage is provided to the motor.

FIG. 5 illustrates an embodiment of an input circuit 500 that is usefulfor providing directives during operation of the robotic apparatus. Inone embodiment, a joystick provides the input signals under the controlof a user. The following illustrates the schematic layout of thejoystick control. The control uses a 5089 DTMF generator chip 502 with acrystal oscillator (xtal) 504 operating at 3.57 MHz. The 5089 DTMFgenerator chip (or its equivalent) is available from a number ofvendors, including for example the TCM5089 from Texas Instruments,Dallas, Tex. Terminal 6 of the DTMF generator chip is connected toground potential 506. Terminals 1 and 15 of the DTMF generator chip 502are connected to a positive voltage supply 508, which is someembodiments is +5 Volts. By connecting any of terminals 3, 4, 5, 9, 11,12, 13, and 14 of DTMF generator chip 502 to ground 506, for example byway of switches 510, a DTMF frequency is generated, and appears atterminal 16 of DTMF generator chip 502. The control can generate 8distinct frequencies, which can be taken in combinations of two todenote a particular direction (i.e., forward, reverse, right and left).In one embodiment, the frequencies are provided as an electrical signalto the microphone input terminal of a tape recorder for recording. Fourswitches 510 are implemented within the joystick 102 of FIG. 1A, and byconnecting terminals 3, 4, 5, 9, 11, 12, 13, and 14 in pairs to a singleswitch two tones are generated when any switch in the joystick is causedto close.

FIG. 6 is a flowchart 600 illustrating a method of providing at leastone command recorded on a machine-readable medium, the at least onecommand representing an instruction for traversing an area of interest.Each box in flowchart 600 can indicate either or both of a step in aprocess and a module in a computer program recorded on amachine-readable medium for operation of the programmable roboticapparatus of the invention. As indicated at box 602, a compass, such asthe electronic compass 110 described above, takes readings of its ownorientation (and thereby, the orientation of the robotic apparatus). Inbox 604, a computer processor on which the computer program is operatingmanipulates the raw data from the compass 110 to calculate readingcorresponding to a heading, using an orientation receiver module thatreceives orientation information from the compass module of theprogrammable robotic apparatus. At box 606, the heading readings arefurther manipulated to extract control information, such as a leastsignificant digit of a reading. At the same time, the robotic apparatus10 is being operated by user employing a control apparatus, such as ahand held apparatus like a cell phone, which is an external source ofdirective for the robotic apparatus, as denoted by box 608. Thus, box608 will be understood to denote also an instruction receiver modulethat receives directives from an external source regarding operation ofthe programmable robotic apparatus.

At box 610, there is denoted a device that records information,including the directives from box 608, and the readings of orientationand headings. This will also be understood to denote a module thatcontrols the recording of information on a machine-readable medium forrecovery and use at a later time. At box 612, there is denoted a storagestep, which is the step of recording the directives and compass readings(in raw and/or in decoded format) on a recordable machine-readablemedium, as described hereinabove.

At box 614, signals including directives and compass readings aredecoded as necessary, and are provided to switches that control aspectsof the operation of the robotic apparatus. At box 616, the switches (insome embodiments, relays) are activated. At box 618, the roboticapparatus is activated by way of driving motors and the like.

FIG. 7 is a flowchart 700 illustrating a method of operating either amaster or a slave robotic apparatus autonomously. Each box in flowchart700 can indicate either or both of a step in a process and a module in acomputer program recorded on a machine-readable medium for operation ofthe programmable robotic apparatus of the invention. While not indicatedin flowchart 700 explicitly, as previously described, a user places therobotic apparatus in operating mode. As indicated at box 702, a compass,such as the electronic compass 110 described above, takes readings ofits own orientation (and thereby, the orientation of the roboticapparatus). In box 704, a computer processor on which the computerprogram is operating manipulates the raw data from the compass 110 tocalculate reading corresponding to a heading, using an orientationreceiver module that receives orientation information from the compassmodule of the programmable robotic apparatus.

At box 706, the heading readings are compared with information, such asinformation recorded in prior operation of a master robotic apparatus.This information is made available by way of a machine-readable mediumin a storage device, as denoted by box 710. At box 712, the storedinformation is decoded as needed, and is supplied both to the comparisoncircuit at box 706, and to switches, such as relays, as indicated at box714 to operate the apparatus. Thus, box 706 will be understood to denotealso a computation module that computes an error signal based at leastin part on orientation information from the compass module andinformation recorded on the machine-readable medium. Box 706 can computewhether there has been an error in the operation of the roboticapparatus 10, by comparing the actual orientation signals and theexpected (i.e., previously recorded) orientation signals and directivesto look for discrepancies. Box 706 will also be understood to denote anerror correction module that, in the event that the error signal exceedsa predetermined value, computes an error correction to be provided as acorrective action command to the programmable robotic apparatus. Box 706can thus send corrective information to box 720.

At box 720, there is denoted a device that issues commands includingcorrection signals to control the robotic apparatus 10 to takecorrective actions. At box 714, signals including operational signalsand corrective signals, as required, are provided to switches such asrelays that control aspects of the operation of the robotic apparatus.At box 718, the switches (in some embodiments, relays) are activated. Atbox 718, the robotic apparatus is activated by way of driving motors andthe like. The computers that control both master robotic apparatus andslave robotic apparatus include a supervisory module that controls theautonomous operation of a programmable robotic apparatus and that, asrequired, receives information recorded on a machine-readable medium.When the robotic apparatus has completed its programmed activities, itis turned off, either by an explicit instruction in the computerprogram, or by the intervention of the user.

In an exemplary embodiment, the robotic apparatus is a modified 20″mowing chassis containing twin electric motors adjacent from one anotherproviding mobility. Each motor is bolted to the frame with slidingmounting brackets to aid in chain tension. From each of the motors,reduction gears are connected to chain assembly, which transfers powerdown to a sprocket mounted drive wheel. These rotations are counted aselectrical pulses and stored for later distance measurements.Maintaining distances ensures the machine does not wander withoutdetection. Rubber tracks are there powered to provide for smoothmobility over diverse terrain. Tension is applied to the tracks with theaid of tension bars, which contain adjustable springs delivered bystainless steel wheels. By applying pressure on the bars in the oppositedirection, tension is removed momentarily from the belt thereby allowingfor replacement.

In the exemplary embodiment, power is generated by the use of analternator from which it derives its power by the rotating verticalshaft controlled by a gasoline engine. The AC generated by thealternator is then converted to DC with the aid of a conversion circuit.The electricity is then sent to a central panel where it sources out itsDC power to the remaining circuits. A battery stores the remainder ofunused electricity for later recall.

In this exemplary embodiment, the vertical shaft powered by the gasolineengine is monitored for strain or an increase in load by a currentmonitoring circuit. As a load increases, current follows in directproportion. This detection serves as a monitor for cutting tall grassand prevents the engine form stalling out under duress. Should thecurrent increase sufficiently enough to be detected, an additionalcircuit will be employed to slow the forward progress and if necessary,stop and reverse before continuing.

In this exemplary embodiment, each drive motor is controlled by avariable speed limiting circuit, which determines their revolutions perminute. Resistance added within this circuit reduces the amount ofcurrent fed to the motors, ultimately slowing revolutions for slightdirectional tuning. Each circuit also has the ability through relays, toswitch rotational directions for forward and reverse commands.

In one exemplary embodiment, to begin programming the system, a userdesignates a starting location. Once an area has been selected, fourhollow spikes or tubes are then introduced into the earth to be madeflush with the surface. This is achieved by applying slight pressurewith ones foot in order to set the spikes. In areas where the earth'sdensity is greater than tapping with the aid of a hammer may be used. Aset of guides allow for an accurate placement, as they need to bealigned with the machine. Once the hollow spikes or tubes are madeflush, the machine is then placed over the configuration and alignedwith placement rods. A rod is placed in each of the four corners of thechassis, allowing for an accurate initial alignment. A consistentstarting location is useful to the machines playback operation.

In one exemplary embodiment, a joystick is used to control four commandsduring programming, forward, left, right, and reverse. Each command isselected by positioning the controller in the four directions. In otherembodiments, a hand held transmitting device, such as a cellulartelephone, can be used to provide commands. The command generates aunique frequency corresponding with each command. The data is thenentered into a recording device through a microphone input and is storedon magnetic tape. Data is simultaneously fed out through the output ofhe tape player into a series of frequency decoders. These decoders lookfor unique signatures responsible for controlling the drive motors. Thisgives immediate feedback to the programmer by viewing the movementbehavior of the machine.

A digital compass module, the Vector2x, will enhance the programmingdata by providing raw measurements to correspond with command inputs.The compass is read by a stamp circuit, which provides for a numericoutput. The data is then fed to an adjoining stamp circuit where it isbroken into ten possible combinations. Each is represented with a lightemitting diode that signals its presence by illuminating. Theillumination is detected by light sensitive circuits, which thenactivate specific relays. These relay control frequency encoders thatgenerate a signal to represent each of the ten possible data outputs.The signals are then fed through a microphone input into a magnetic taperecorder for storage.

In one exemplary embodiment, the programmer overlaps the cutting of thegrass by ⅓ the width of the lawn mower. This safeguards any slightchanges throughout the entire playback procedures and offers a margin oferror.

In the exemplary embodiment described, upon playback, the digitalcompass serves as a live reading from which recorded data is thencompared to. There unique frequencies are detected and theircorresponding relays are activated. The electrical signals provided fromthe decoders are sent to two processors for comparison to those providedfrom the compass. The two sets of signals representing compass readingsare then compared for analysis. This step determines whether the machineis in one of three possible states. They include 1 degree right, 1degree left and or, center. Of these three states, only the first twosignify a need for correction. The processors indicate the status of thethree states and output a corresponding signal by activating a lightemitting diode.

In the exemplary embodiment, when the diode representing left isactivated, a light sensitive circuit senses its presence and triggers arelay. This relay sends a signal to the right side drive motor controlwhere, it increases electrical resistance thereby slowing the motor indirect proportion. When the correction is complete, electricalresistance in the motor controls is returned back to its normal state.This allows the machine to correct its heading slightly to the right,returning back onto its intended course while in forward motion.

In the exemplary embodiment, when the center position is activated,there are no commands being sent to the drive motor control's as therein no correction needed. The diode representing the center position isprimarily used to allow a user to calibrate the system.

In the exemplary embodiment, when the diode representing right isactivated, a light sensitive circuit senses its presence and triggers arelay. This relay sends a signal to the left side drive motor controlwhere, it increases electrical resistance thereby slowing the motor indirect proportion. When the correction is complete, electricalresistance in the motor controls is returned to its normal state. Thisallows the machine to correct its heading slightly to the left,returning back onto its intended course while in forward motion.

In one embodiment, each electrical circuit and/or device that cangenerate electrical fields or hat can be affected by electrical fields,can be enclosed, or “wrapped” with a grounded shield mesh (i.e., aFaraday cage) to prevent interference between components.

In another embodiment, for example for use in a “surveillance” mode or“night watchman” mode of operation, the robotic apparatus can have aplurality of sets of instructions pre-recorded, each set of instructionscorresponding to one of a plurality of paths traversing an area ofinterest. One of the pre-recorded sets of instructions can be selectedfor use in any particular traverse of the area of interest, so that therobotic apparatus behaves in a manner that is not predictable withcertainty by a disinterested observer. For example, the selection of aparticular set of instructions can be based on a random number generatorthat can be programmed as a random number generator module in thecomputer program recorded on a machine-readable medium. The selectioncan in different embodiments be made by the robotic apparatus itself, orby an external actor, such as a user, or a computer program under thecontrol of a user. The robotic apparatus can use tools such as anelectronic camera, a video camera, a radio, a chemical sensor, abiological sensor and the like to detect and to report a condition thatdeviates from a pre-defined base condition.

Those of ordinary skill will recognize that many functions of electricaland electronic apparatus can be implemented in hardware (for example,hard-wired logic), in software (for example, logic encoded in a programoperating on a general purpose processor), and in firmware (for example,logic encoded in a non-volatile memory that is invoked for operation ona processor as required). The present invention contemplates thesubstitution of one implementation of hardware, firmware and softwarefor another implementation of the equivalent functionality using adifferent one of hardware, firmware and software. To the extent that animplementation can be represented mathematically by a transfer function,that is, a specified response is generated at an output terminal for aspecific excitation applied to an input terminal of a “black box”exhibiting the transfer function, any implementation of the transferfunction, including any combination of hardware, firmware and softwareimplementations of portions or segments of the transfer function, iscontemplated herein.

While the present invention has been explained with reference to thestructure disclosed herein, it is not confined to the details set forthand this invention is intended to cover any modifications and changes asmay come within the scope of the following claims.

1. A programmable robotic apparatus, comprising: a drive systemcomprising a plurality of independently operable treads; a controlmodule in electrical communication with said drive system, said controlmodule configured to command the operation of each tread; a memorymodule in electrical communication with said control module, said memorymodule configured to store and retrieve information; and a compassmodule that responds only to magnetic fields, said compass module inelectrical communication with said control module, said compass moduleconfigured to discern an orientation of said programmable roboticapparatus, wherein said compass module is configured to discern anorientation relative to the magnetic field of the planet Earth based onan analysis of at least one directional component of said magneticfield.
 2. The programmable robotic apparatus of claim 1, wherein saidapparatus is configured to operate autonomously based at least in parton information stored in said memory module.
 3. The programmable roboticapparatus of claim 1, further comprising a tool configured to perform amechanical operation.
 4. The programmable robotic apparatus of claim 3,wherein said tool configured to perform a mechanical operation isselected from the group consisting of a cutting tool, a shoveling tool,and a vacuuming tool.
 5. The programmable robotic apparatus of claim 3,wherein said programmable robotic apparatus is a programmable lawnmower.
 6. The programmable robotic apparatus of claim 1, wherein saidmemory module is selected from the group consisting of a magnetic tape,a floppy disc, a hard disc, a CD-ROM, a CD-RW disc, RAM, EPROM, EEPROM,and a flash memory.
 7. The programmable robotic apparatus of claim 1,wherein said compass module is configured to discern an orientationrelative to the magnetic field of the planet Earth based on an analysisof two orthogonal directional components of said magnetic field.
 8. Theprogrammable robotic apparatus of claim 1, further comprising a commandreceiver module in electrical communication with said control module. 9.The programmable robotic apparatus of claim 8, wherein said commandreceiver module is configured to receive signals from a portabletransmitter.
 10. The programmable robotic apparatus of claim 8, whereinsaid command receiver module is configured to receive signals comprisingdirectives.
 11. A method of operating the programmable robotic apparatusof claim 1, comprising the steps of: providing at least one commandrecorded on a machine-readable medium, said at least one commandrepresenting an instruction for traversing an area of interest;operating said programmable robotic apparatus according to said at leastone command recorded on said machine-readable medium; discerning anorientation of said programmable robotic apparatus; comparing saidorientation of said programmable robotic apparatus to a directionrecorded in said at least one command to determine an error signal; andin the event that said error signal exceeds a predetermined value,commanding said programmable robotic apparatus to take a correctiveaction; whereby said programmable robotic apparatus autonomouslytraverses an area of interest.
 12. The method of claim 11, wherein thesteps of discerning an orientation, comparing said orientation, and inthe event that said error signal exceeds a predetermined value,commanding said programmable robotic apparatus to take a correctiveaction, are performed iteratively during a period of operation of saidprogrammable robotic apparatus.
 13. The method of claim 11, furthercomprising the step of performing an operation with a mechanical toolattached to said programmable robotic apparatus.
 14. The method of claim13, wherein said programmable robotic apparatus stands in one locationduring said operation with said mechanical tool.
 15. A method ofproviding at least one command recorded on a machine-readable medium,the at least one command representing an instruction for traversing anarea of interest, the method comprising the steps of providing aprogrammable robotic apparatus according to claim 1; operating saidprogrammable robotic apparatus under external control, the programmablerobotic apparatus receiving directives from an external source andtraversing an area of interest; taking readings from a compass module ofsaid programmable robotic apparatus; and recording said directives andreadings on a machine-readable medium for later recovery.
 16. The methodof claim 15, wherein said directives are recorded in the format in whichsaid directives are received.
 17. The method of claim 15, wherein saiddirectives are recorded in a different format from the format in whichsaid directives are received.
 18. A computer program recorded on amachine-readable medium, said computer program comprising: a supervisorymodule that controls the autonomous operation of the programmablerobotic apparatus of claim 1 and that, as required, receives informationrecorded on a machine-readable medium; an orientation receiver modulethat receives orientation information from a compass module of saidprogrammable robotic apparatus, and a computation module that computesan error signal based at least in part on orientation information fromsaid compass module and information recorded on said machine-readablemedium.
 19. The computer program of claim 18, further comprising: aninstruction receiver module that receives directives from an externalsource regarding operation of said programmable robotic apparatus. 20.The computer program of claim 18, further comprising: an errorcorrection module that, in the event that said error signal exceeds apredetermined value, computes an error correction to be provided as acorrective action command to said programmable robotic apparatus.